import axios from 'axios'
// console.log(axios)
// import router from 'router'

// 创建axios实例
const httpInstance = axios.create({
  baseURL: 'http://localhost:8888',
  timeout: 30000
})


// axios请求拦截器
httpInstance.interceptors.request.use(config => {
  // 1. 从sessionStorage获取token数据

  // 2. 按照后端的要求拼接token数据
  const token = window.sessionStorage.getItem('token')  // 使用可选链，防止清空userStore状态后的报错
  if (token) {
    // config.headers.authorization = `Bearer ${token}`
    config.headers.authorization = token
  }
  return config
}, e => Promise.reject(e))


// axios响应式拦截器
httpInstance.interceptors.response.use(res => res.data, e => {
  console.log(e)

  // 401token失效处理
  if (e.response.status === 401) {
    // 展示错误信息
    alert("jwt校验失败")
    // 1、清除本地用户数据 userStore.clearUserInfo()
    window.sessionStorage.clear();
    // 2、跳转到登录页 router.push("/login")
    if (this.$route.path !== '/login/coreLogin') {
        console.log(this.$route.path)
        this.$router.push('/login/coreLogin');  
      }
  }

  return Promise.reject(e)
})



export default httpInstance